home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume8 / jove / part12 < prev    next >
Encoding:
Internet Message Format  |  1987-02-03  |  36.9 KB

  1. Subject:  v08i031:  The JOVE text editor, Part12/13
  2. Newsgroups: mod.sources
  3. Approved: mirror!rs
  4.  
  5. Submitted by: seismo!rochester!jpayne (Jonathan Payne)
  6. Mod.sources: Volume 8, Issue 31
  7. Archive-name: jove/Part12
  8.  
  9. #! /bin/sh
  10. # This is a shell archive.  Remove anything before this line,
  11. # then unpack it by saving it in a file and typing "sh file".
  12. # If all goes well, you will see the message "End of archive 12 (of 13)."
  13. # Contents:  doc/jove.5
  14. PATH=/bin:/usr/bin:/usr/ucb; export PATH
  15. echo shar: extracting "'doc/jove.5'" '(35706 characters)'
  16. if test -f 'doc/jove.5' ; then 
  17.   echo shar: will not over-write existing file "'doc/jove.5'"
  18. else
  19. sed 's/^X//' >doc/jove.5 <<'@//E*O*F doc/jove.5//'
  20. X.dc "list-buffers" "C-X C-B"
  21. XThis types out a list containing various information about each buffer.
  22. XRight now that list looks like this:
  23. X.DS
  24. X.ta \w'NO111'u +\w'Lines1'u +\w'Scratch111'u +\w'*1'u +\w'commands.doc111'u
  25. X\ (* means the buffer needs saving)
  26. X\ NO    Lines    Type        Name    File
  27. X\ --    -----    ----        ----    ----
  28. X\ 1    1    File        Main    [No file]
  29. X\ 2    1    Scratch    *    Minibuf    [No file]
  30. X\ 3    519    File    *    commands.doc    commands.doc
  31. X.DE
  32. XThe first column lists the buffer's number.  When \s-2JOVE\s0 prompts for a
  33. Xbuffer name you can either type in the full name, or you can simply
  34. Xtype the buffer's number.  The second column is the number of lines in
  35. Xthe buffer.  The third says what type of buffer.  There are four
  36. Xtypes: "File", "Scratch", "Process", "I-Process".  "File" is simply a
  37. Xbuffer that holds a file; "Scratch" is for buffers that \s-2JOVE\s0 uses
  38. Xinternally; "Process" is one that holds the output from a UNIX
  39. Xcommand; "I-Process" is one that has an interactive process attached to
  40. Xit.  The next column contains the name of the buffer.  And the last
  41. Xcolumn is the name of the file that's attached to the buffer.  In this
  42. Xcase, both Minibuf and commands.doc have been changed but not yet
  43. Xsaved.  In fact Minibuf won't be saved since it's an internal \s-2JOVE\s0
  44. Xbuffer that I don't even care about.
  45. X.dc "list-processes" "Not Bound"
  46. XThis makes a list somewhat like "list-buffers" does, except its
  47. Xlist consists of the current interactive processes.  Right now the list
  48. Xlooks like this:
  49. X.DS
  50. X.ta \w'shell-111111111111'u +\w'Running1111111111'u
  51. X\ Buffer    Status    Pid    Command
  52. X\ ------    ------    ---    -------
  53. X\ *shell*    Running    18415    shell
  54. X\ fgrep     Done    18512   fgrep -n Buffer *.c
  55. X.DE
  56. XThe first column has the name of the buffer to which the process is
  57. Xattached.  The second has the status of the process; if a process has
  58. Xexited normally the status is "Done" as in fgrep; if the process
  59. Xexited with an error the status is "Exit N" where N is the value of
  60. Xthe exit code; if the process was killed by some signal the status is
  61. Xthe name of the signal that was used; otherwise the process is
  62. Xrunning.  The last column is the name of the command that is being run.
  63. X.dc "mailbox" "(variable)"
  64. XSet this to the full pathname of your mailbox.  \s-2JOVE\s0 will look here to
  65. Xdecide whether or not you have any unread mail.  This defaults to
  66. X/usr/spool/mail/$USER, where $USER is set to your login name.
  67. X.dc "mail-check-frequency" "(variable)"
  68. XThis is how often (in seconds) \s-2JOVE\s0 should check your mailbox for
  69. Xincoming mail.  See also the
  70. X.IQ mailbox
  71. Xand
  72. X.IQ disable-biff
  73. Xvariables.
  74. X.dc "make-backup-files" "(variable)"
  75. XIf this variable is set, then whenever \s-2JOVE\s0 writes out a file, it will
  76. Xmove the previous version of the file (if there was one) to "#filename".
  77. XThis is often convenient if you save a file by accident.  The default
  78. Xvalue of this variable is "off".
  79. X.IQ Note:
  80. Xthis is an optional part of
  81. X\s-2JOVE\s0, and your guru may not have it enabled, so it may not work.
  82. X.dc "make-buffer-unmodified" "ESC ~"
  83. XThis makes \s-2JOVE\s0 think the selected buffer hasn't been changed even if
  84. Xit has.  Use this when you accidentally change the buffer but don't
  85. Xwant it considered changed.  Watch the mode line to see the * disappear
  86. Xwhen you use this command.  
  87. X.dc "make-macro-interactive" "Not Bound"
  88. XThis command is meaningful only while you are defining a keyboard macro.
  89. XOrdinarily, when a command in a macro definition requires a trailing
  90. Xtext argument (file name, search string, etc.), the argument you
  91. Xsupply becomes part of the macro definition.  If you want to be able
  92. Xto supply a different argument each time the macro is used, then while
  93. Xyou are defining it, you should give the make-macro-interactive
  94. Xcommand just before typing the argument which will be used during the
  95. Xdefinition process.  Note: you must bind this command to a key in
  96. Xorder to use it; you can't say ESC X make-macro-interactive.
  97. X.dc "mark-threshold" "(variable)"
  98. XThis variable contains the number of lines point may move by before
  99. Xthe mark is set.  If, in a search or something, point moves by more
  100. Xthan this many lines, the mark is set so that you may return easily.
  101. XThe default value of this variable is 22 (one screenful, on most
  102. Xterminals).
  103. X.dc "marks-should-float" "(variable)"
  104. XWhen this variable is "off", the position of a mark is remembered as a line
  105. Xnumber within the buffer and a character number within the line.  If you add
  106. Xor delete text before the mark, it will no longer point to the text you
  107. Xmarked originally because that text is no longer at the same line and
  108. Xcharacter number.  When this variable is "on", the position of a mark is
  109. Xadjusted to compensate for each insertion and deletion.  This makes marks
  110. Xmuch more sensible to use, at the cost of slowing down insertion and
  111. Xdeletion somewhat.  The default value is "on".
  112. X.dc "match-regular-expressions" "(variable)"
  113. XWhen set, \s-2JOVE\s0 will match regular expressions in search patterns.
  114. XThis makes special the characters ., *, [, ], ^, and $, and the two-character
  115. Xsequences \e<, \e>, \e\|{, \e\|} and \e\||.
  116. XSee the
  117. X.IQ ed(1)
  118. Xmanual page, the tutorial "Advanced Editing in 
  119. X.UX
  120. X", and the section above "Searching with Regular Expressions"
  121. Xfor more information.
  122. X.dc "meta-key" "(variable)"
  123. XYou should set this variable to "on" if your terminal has a real Meta
  124. Xkey.
  125. XIf your terminal has such a key, then a key sequence like ESC Y can
  126. Xbe entered by holding down Meta and typing Y.
  127. X.dc "mode-line" "(variable)"
  128. XThe format of the mode line can be determined by setting this variable.
  129. XThe items in the line are specified using a printf(3) format, with the
  130. Xspecial things being marked as "%x".  Digits may be used between the
  131. X'%' and the 'x' to mean repeat that many times.
  132. X\&'x' may be:
  133. X.DS I
  134. X.ta .5i 1i 1.5i
  135. X    C    check for new mail, and displays "[New mail]" if there
  136. X        is any (see also the mail-check-interval and disable-biff
  137. X        variables)
  138. X    F    the current file name, with leading path stripped
  139. X    M    the current list of major and minor modes
  140. X    b    the current buffer name
  141. X    c    the fill character (-)
  142. X    d    the current directory
  143. X    e    end of string--this must be the last item in the string
  144. X    f    the current file name
  145. X    l    the current load average (updated automatically)
  146. X    mxy    x, when the buffer is modified or y, when not
  147. X    n    the current buffer number
  148. X    s    space, but only if previous character is not a space
  149. X    t    the current time (updated automatically)
  150. X    [ ]    the square brackets printed when in a recursive edit
  151. X    ( )    items enclosed in %( ... %) will only be printed on
  152. X        the bottom mode line, rather than copied when the
  153. X        window is split
  154. X.DE
  155. XIn addition, any other character is simply copied into the mode line.
  156. XCharacters may be escaped with a backslash.  To get a feel for all
  157. Xthis, try typing "ESC X print mode-line" and compare the result with
  158. Xyour current mode line.
  159. X.dc "mode-line-should-standout" "(variable)"
  160. XIf set, the mode line will be printed in reverse video, if your
  161. Xterminal supports it.  The default for this variable is "off".
  162. X.dc "name-keyboard-macro" "Not Bound"
  163. XThis copies the keyboard macro and gives it a name freeing up the
  164. Xkeyboard macro so you can define some more.  Keyboard macros with
  165. Xtheir own names can be bound to keys just like built in commands
  166. Xcan.  See the
  167. X.IQ read-macros-from-file
  168. Xand
  169. X.IQ write-macros-to-file
  170. Xcommands.
  171. X.dc "newline" "Return"
  172. XThis divides the current line at point moving all the text to the
  173. Xright of point down onto the newly created line.  Point moves down to
  174. Xthe beginning of the new line.
  175. X.dc "newline-and-backup" "C-O"
  176. XThis divides the current line at point moving all the text to the
  177. Xright of point down onto the newly created line.  The difference
  178. Xbetween this and "newline" is that point does not move down to the
  179. Xbeginning of the new line.
  180. X.dc "newline-and-indent" "LineFeed"
  181. XThis behaves the same was as Return does when in Auto Indent mode.
  182. XThis makes Auto Indent mode obsolete but it remains in the name of
  183. Xbackward compatibility.
  184. X.dc "next-error" "C-X C-N"
  185. XThis moves to the next error in the list of errors that were parsed
  186. Xwith
  187. X.IQ parse-errors
  188. Xor
  189. X.IQ parse-special-errors.
  190. XIn one window the list
  191. Xof errors is shown with the current one always at the top.  In another
  192. Xwindow is the file that contains the error.  Point is positioned in
  193. Xthis window on the line where the error occurred.
  194. X.dc "next-line" "C-N"
  195. XThis moves down to the next line.
  196. X.dc "next-page" "C-V"
  197. XThis displays the next page of the buffer by taking the bottom line of
  198. Xthe window and redrawing the window with it at the top.  If there isn't
  199. Xanother page in the buffer \s-2JOVE\s0 rings the bell.  If a numeric argument
  200. Xis supplied the screen is scrolled up that many lines; if the argument
  201. Xis negative the screen is scrolled down.
  202. X.dc "next-window" "C-X N"
  203. XThis moves into the next window.  Windows live in a circular list so
  204. Xwhen you're in the bottom window and you try to move to the next one
  205. Xyou are moved to the top window.  It is an error to use this command
  206. Xwith only one window.
  207. X.dc "number-lines-in-window" "Not Bound"
  208. XThis displays the line numbers for each line in the buffer being
  209. Xdisplayed.  The number isn't actually part of the text; it's just
  210. Xprinted before the actual buffer line is.  To turn this off you run
  211. Xthe command again; it toggles.
  212. X.dc "over-write-mode" "Not Bound"
  213. XThis turns Over Write mode on (or off if it's currently on) in the selected
  214. Xbuffer.  When on, this mode changes the way the self-inserting characters
  215. Xwork.  Instead of inserting themselves and pushing the rest of the line over
  216. Xto the right, they replace or over-write the existing character.  Also,
  217. XRubout replaces the character before point with a space instead of deleting
  218. Xit.  When Over Write mode is on "OvrWt" is displayed on the mode line.
  219. X.dc "page-next-window" "ESC C-V"
  220. XThis displays the next page in the next window.  This is exactly the
  221. Xsame as "C-X N C-V C-X P".
  222. X.dc "paren-flash-delay" "(variable)"
  223. XHow long, in tenths of seconds, \s-2JOVE\s0 should pause on a matching
  224. Xparenthesis in
  225. X.IQ Show Match
  226. Xmode.  The default is 5.
  227. X.dc "parse-errors" "Not Bound"
  228. XThis takes the list of C compilation errors (or output from another program
  229. Xin the same format) in the current buffer and parses them for use with the
  230. X.IQ next-error
  231. Xand
  232. X.IQ previous-error
  233. Xand
  234. X.IQ current-error
  235. Xcommands.
  236. XThis is a very useful tool and helps with compiling C programs and when used
  237. Xin conjunction with the "grep" UNIX command very helpful in making changes
  238. Xto a bunch of files.  This command understands errors produced by cc, cpp,
  239. Xand lint; plus any other program with the same format (e.g., "grep -n").
  240. X\s-2JOVE\s0 visits each file that has an error and remembers each line that
  241. Xcontains an error.  It doesn't matter if later you insert or delete
  242. Xsome lines in the buffers containing errors; \s-2JOVE\s0 remembers where
  243. Xthey are regardless.
  244. X.IQ next-error
  245. Xis automatically executed after one
  246. Xof the parse commands, so you end up at the first error.
  247. X.dc "parse-special-errors" "Not Bound"
  248. XThis parses errors in an unknown format.  Error parsing works with
  249. Xregular expression search strings with \\('s around the the file name
  250. Xand the line number.  So, you can use
  251. X.IQ parse-special-errors
  252. Xto parse
  253. Xlines that are in a slightly different format by typing in your own
  254. Xsearch string.  If you don't know how to use regular expressions you
  255. Xcan't use this command.
  256. X.dc "parse-spelling-errors-in-buffer" "Not Bound"
  257. XThis parses a list of words in the current buffer and looks them up in
  258. Xanother buffer that you specify.  This will probably go away soon.
  259. X.dc "pause-jove" "ESC S"
  260. XThis stops \s-2JOVE\s0 and returns control to the parent shell.  This
  261. Xonly works for users using the C-shell, and on systems that have the
  262. Xjob control facility.  To return to \s-2JOVE\s0 you type "fg" to the C-shell.
  263. X.dc "physical-tabstop" "(variable)"
  264. XHow many spaces your terminal prints when it prints a tab character.
  265. X.dc "pop-mark" "Not Bound"
  266. XThis gets executed when you run
  267. X.IQ set-mark
  268. Xwith a numeric argument.
  269. X\s-2JOVE\s0 remembers the last 16 marks and you use
  270. X.IQ pop-mark
  271. Xto go
  272. Xbackward through the ring of marks.  If you execute
  273. X.IQ pop-mark
  274. Xenough
  275. Xtimes you will eventually get back to where you started.
  276. X.dc "popd" "Not Bound"
  277. XThis pops one entry off the directory stack.  Entries are pushed with
  278. Xthe
  279. X.IQ pushd
  280. Xcommand.  The names were stolen from the C-shell and the
  281. Xbehavior is the same.
  282. X.dc "previous-error" "C-X C-P"
  283. XThis is the same as
  284. X.IQ next-error
  285. Xexcept it goes to the previous error.
  286. XSee
  287. X.IQ next-error
  288. Xfor documentation.
  289. X.dc "previous-line" "C-P"
  290. XThis moves up to the previous line.
  291. X.dc "previous-page" "ESC V"
  292. XThis displays the previous page of the current buffer by taking the top
  293. Xline and redrawing the window with it at the bottom.  If a numeric
  294. Xargument is supplied the screen is scrolled down that many lines; if
  295. Xthe argument is negative the screen is scrolled up.
  296. X.dc "previous-window" "C-X P and C-X O"
  297. XThis moves into the next window.  Windows live in a circular list so
  298. Xwhen you're in the top window and you try to move to the previous one
  299. Xyou are moved to the bottom window.  It is an error to use this command
  300. Xwith only one window.
  301. X.dc "print" "Not Bound"
  302. XThis prints the value of a \s-2JOVE\s0 variable.
  303. X.dc "print-message" "Not Bound"
  304. XThis command prompts for a message, and then prints it on the bottom
  305. Xline where \s-2JOVE\s0 messages are printed.
  306. X.dc "process-bind-to-key" "Not Bound"
  307. XThis command is identical to bind-to-key, except that it only affects
  308. Xyour bindings when you are in a buffer attached to a process.  When
  309. Xyou enter the process buffer, any keys bound with this command will
  310. Xautomatically take their new values.  When you switch to a non-process
  311. Xbuffer, the old bindings for those keys will be restored.  For example,
  312. Xyou might want to execute
  313. X.DS I
  314. Xprocess-bind-to-key stop-process ^Z
  315. Xprocess-bind-to-key interrupt-process ^C
  316. X.DE
  317. XThen, when you start up an interactive process and switch into that
  318. Xbuffer, C-Z will execute stop-process and C-C will execute interrupt-
  319. Xprocess.  When you switch back to a non-process buffer, C-Z will go
  320. Xback to executing scroll-up (or whatever you have it bound to).
  321. X.dc "process-newline" "Return"
  322. XThis this only gets executed when in a buffer that is attached to an
  323. Xinteractive-process.  \s-2JOVE\s0 does two different things depending on where
  324. Xyou are when you hit Return.  When you're at the end of the I-Process
  325. Xbuffer this does what Return normally does, except it also makes the
  326. Xline available to the process.  When point is positioned at some other
  327. Xposition that line is copied to the end of the buffer (with the prompt
  328. Xstripped) and point is moved there with it, so you can then edit that
  329. Xline before sending it to the process.  This command
  330. X.IQ must
  331. Xbe bound
  332. Xto the key you usually use to enter shell commands (Return), or else
  333. Xyou won't be able to enter any.
  334. X.dc "process-prompt" (variable)
  335. XWhat a prompt looks like from the shell and i-shell-command
  336. Xprocesses.  The default is "% ", the default C-shell prompt.  This is
  337. Xactually a regular expression search string.  So you can set it to be
  338. Xmore than one thing at once using the \\| operator.  For instance, for
  339. XLISP hackers, the prompt can be
  340. X.DS
  341. X"% \\|-> \\|<[0-9]>: ".
  342. X.DE
  343. X.dc "push-shell" "Not Bound"
  344. XThis spawns a child shell and relinquishes control to it.  This works
  345. Xon any version of UNIX, but this isn't as good as
  346. X.IQ pause-jove
  347. Xbecause
  348. Xit takes time to start up the new shell and you get a brand new
  349. Xenvironment every time.  To return to \s-2JOVE\s0 you type "C-D".
  350. X.dc "pushd" "Not Bound"
  351. XThis pushes a directory onto the directory stack and cd's into it.  It
  352. Xasks for the directory name but if you don't specify one it switches
  353. Xthe top two entries no the stack.  It purposely behaves the same as
  354. XC-shell's
  355. X.IQ pushd.
  356. X.dc "pwd" "Not Bound"
  357. XThis prints the working directory.
  358. X.dc "quadruple-numeric-argument" "C-U"
  359. XThis multiplies the numeric argument by 4.  So, "C-U C-F" means
  360. Xforward 4 characters and "C-U C-U C-N" means down 16 lines.
  361. X.dc "query-replace-string" "ESC Q"
  362. XThis replaces the occurrences of a specified string with a specified
  363. Xreplacement string.  When an occurrence is found point is moved to it
  364. Xand then \s-2JOVE\s0 asks what to do.  The options are:
  365. X.DS I
  366. X.ta \w'Rubout111'u
  367. XSpace    to replace this occurrence and go on to the next one.
  368. XPeriod    to replace this occurrence and then stop.
  369. XRubout    to skip this occurrence and go on to the next one.
  370. XC-R    to enter a recursive edit.  This lets you temporarily
  371. X    suspend the replace, do some editing, and then return
  372. X    to continue where you left off.  To continue with the
  373. X    Query Replace type "C-X C-C" as if you were trying to
  374. X    exit \s-2JOVE\s0.  Normally you would but when you are in a
  375. X    recursive edit all it does is exit that recursive
  376. X    editing level.
  377. XC-W    to delete the matched string and then enter a recursive
  378. X    edit.
  379. XU    to undo the last replacement.
  380. XP or !    to go ahead and replace the remaining occurrences without
  381. X    asking.
  382. XReturn    to stop the Query Replace.
  383. X.DE
  384. XThe search for occurrences starts at point and goes to the end of the
  385. Xbuffer, so to replace in the entire buffer you must first go to the
  386. Xbeginning.
  387. X.dc "quit-process" "Not Bound"
  388. XThis is the same as typing "C-\\" (the Quit character) to a normal UNIX
  389. Xprocess, except it sends it to the current process in \s-2JOVE\s0.  This is
  390. Xonly for versions of \s-2JOVE\s0 that have the interactive processes feature.
  391. XThis only works when you are inside a buffer that's attached to a
  392. Xprocess.
  393. X.dc "quoted-insert" "C-Q"
  394. XThis lets you insert characters that normally would be executed as
  395. Xother \s-2JOVE\s0 commands.  For example, to insert "C-F" you type "C-Q C-F".
  396. X.dc "read-word-abbrev-file" "Not Bound"
  397. XThis reads a specified file that contains a bunch of abbreviation
  398. Xdefinitions, and makes those abbreviations available.  If the selected
  399. Xbuffer is not already in Word Abbrev mode this command puts it in
  400. Xthat mode.
  401. X.dc "read-macros-from-file" "Not Bound"
  402. XThis reads the specified file that contains a bunch of macro
  403. Xdefinitions, and defines all the macros that were currently defined
  404. Xwhen the file was created.  See
  405. X.IQ write-macros-to-file
  406. Xto see how to
  407. Xsave macros.
  408. X.dc "redraw-display" "C-L"
  409. XThis centers the line containing point in the window.  If that line is
  410. Xalready in the middle the window is first cleared and then redrawn.
  411. XIf a numeric argument is supplied, the line is positioned at that
  412. Xoffset from the top of the window.  For example, "ESC 0 C-L" positions
  413. Xthe line containing point at the top of the window.
  414. X.dc "recursive-edit" "Not Bound"
  415. XThis enters a recursive editing level.  This isn't really very
  416. Xuseful.  I don't know why it's available for public use.  I think I'll
  417. Xdelete it some day.
  418. X.dc "rename-buffer" "Not Bound"
  419. XThis lets you rename the current buffer.
  420. X.dc "replace-in-region" "Not Bound"
  421. XThis is the same as
  422. X.IQ replace-string
  423. Xexcept that it is restricted
  424. Xto occurrences between Point and Mark.
  425. X.dc "replace-string" "ESC R"
  426. XThis replaces all occurrences of a specified string with a specified
  427. Xreplacement string.  This is just like
  428. X.IQ query-replace-string
  429. Xexcept
  430. Xit replaces without asking.
  431. X.dc "right-margin" "(variable)"
  432. XWhere the right margin is for
  433. X.IQ "Auto Fill"
  434. Xmode and the
  435. X.IQ justify-paragraph
  436. Xand
  437. X.IQ justify-region
  438. Xcommands.  The default is 78.
  439. X.dc "right-margin-here" "Not Bound"
  440. XThis sets the
  441. X.IQ right-margin
  442. Xvariable to the current position of
  443. Xpoint.  This is an easy way to say, "Make the right margin begin here,"
  444. Xwithout having to count the number of spaces over it actually is.
  445. X.dc "save-file" "C-X C-S"
  446. XThis saves the current buffer to the associated file.  This makes your
  447. Xchanges permanent so you should be sure you really want to.  If the
  448. Xbuffer has not been modified
  449. X.IQ save-file
  450. Xrefuses to do the save.  If
  451. Xyou really do want to write the file you can use "C-X C-W" which
  452. Xexecutes
  453. X.IQ write-file.
  454. X.dc "scroll-down" "ESC Z"
  455. XThis scrolls the screen one line down.  If the line containing point
  456. Xmoves past the bottom of the window point is moved up to the center of
  457. Xthe window.  If a numeric argument is supplied that many lines are
  458. Xscrolled; if the argument is negative the screen is scrolled up
  459. Xinstead.
  460. X.dc "scroll-step" "(variable)"
  461. XHow many lines should be scrolled if the
  462. X.IQ previous-line
  463. Xor
  464. X.IQ next-line
  465. Xcommands move you off the top or bottom of the screen.  You
  466. Xmay wish to decrease this variable if you are on a slow terminal.
  467. X.dc "scroll-up" "C-Z"
  468. XThis scrolls the screen one line up.  If the line containing point
  469. Xmoves past the top of the window point is moved down to the center of
  470. Xthe window.  If a numeric argument is supplied that many lines are
  471. Xscrolled; if the argument is negative the screen is scrolled down
  472. Xinstead.
  473. X.dc "search-exit-char" "(variable)"
  474. XSet this to the character you want to use to exit incremental search.
  475. XThe default is Newline, which makes i-search compatible with normal
  476. Xstring search.
  477. X.dc "search-forward" "C-S"
  478. XThis searches forward for a specified search string and positions
  479. Xpoint at the end of the string if it's found.  If the string is not
  480. Xfound point remains unchanged.  This searches from point to the end of
  481. Xthe buffer, so any matches before point will be missed.
  482. X.dc "search-reverse" "C-R"
  483. XThis searches backward for a specified search string and positions
  484. Xpoint at the beginning if the string if it's found.  If the string is
  485. Xnot found point remains unchanged.  This searches from point to the
  486. Xbeginning of the buffer, so any matches after point will be missed.
  487. X.dc "select-buffer" "C-X B"
  488. XThis selects a new or already existing buffer making it the current
  489. Xone.  You can type either the buffer name or number.  If you type in
  490. Xthe name you need only type the name until it is unambiguous, at which
  491. Xpoint typing Escape or Space will complete it for you.  If you want to
  492. Xcreate a new buffer you can type Return instead of Space, and a new
  493. Xempty buffer will be created.
  494. X.dc "self-insert" "Most Printing Characters"
  495. XThis inserts the character that invoked it into the buffer at point.
  496. XInitially all but a few of the printing characters are bound to
  497. X.IQ self-insert.
  498. X.dc "send-typeout-to-buffer" "(variable)"
  499. XWhen this is set \s-2JOVE\s0 will send output that normally overwrites the
  500. Xscreen (temporarily) to a buffer instead.  This affects commands like
  501. X.IQ list-buffers,
  502. X.IQ list-processes,
  503. Xand other commands that use command
  504. Xcompletion.  The default value is "off".
  505. X.dc "set" "Not Bound"
  506. XThis gives a specified variable a new value.  Occasionally you'll see
  507. Xlines like "set this variable to that value to do this".  Well, you
  508. Xuse the
  509. X.IQ set
  510. Xcommand to do that.
  511. X.dc "set-mark" "C-@"
  512. XThis sets the mark at the current position in the buffer.  It prints
  513. Xthe message "Point pushed" on the message line.  It says that instead
  514. Xof "Mark set" because when you set the mark the previous mark is still
  515. Xremembered on a ring of 16 marks.  So "Point pushed" means point is
  516. Xpushed onto the ring of marks and becomes the value of "the mark".
  517. XTo go through the ring of marks you type "C-U C-@", or execute the
  518. X.IQ pop-mark
  519. Xcommand.  If you type this enough times you will get back
  520. Xto where you started.
  521. X.dc "shell" "(variable)"
  522. XThe shell to be used with all the shell commands command.  If your SHELL
  523. Xenvironment variable is set, it is used as the value of
  524. X.IQ shell;
  525. Xotherwise "/bin/csh" is the default.
  526. X.dc "shell-command" "C-X !"
  527. XThis runs a UNIX command and places the output from that command in a
  528. Xbuffer.  \s-2JOVE\s0 creates a buffer that matches the name of the command
  529. Xyou specify and then attaches that buffer to a window.  So, when you
  530. Xhave only one window running this command will cause \s-2JOVE\s0 to split the
  531. Xwindow and attach the new buffer to that window.  Otherwise, \s-2JOVE\s0
  532. Xfinds the most convenient of the available windows and uses that one
  533. Xinstead.  If the buffer already exists it is first emptied, except that if
  534. Xit's holding a file, not some output from a previous command, \s-2JOVE\s0
  535. Xprints an error message and refuses to execute the command.  If you
  536. Xreally want to execute the command you should delete that buffer
  537. X(saving it first, if you like) or use
  538. X.IQ shell-command-to-buffer,
  539. Xand
  540. Xtry again.
  541. X.dc "shell-command-to-buffer" "Not Bound"
  542. XThis is just like
  543. X.IQ shell-command
  544. Xexcept it lets you specify the
  545. Xbuffer to use instead of \s-2JOVE\s0.
  546. X.dc "shell-flags" "(variable)"
  547. XThis defines the flags that are passed to shell commands.  The default is
  548. X"-c".  See the
  549. X.IQ shell
  550. Xvariable to change the default shell.
  551. X.dc "show-match-mode" "Not Bound"
  552. XThis turns on Show Match mode (or off if it's currently on) in the
  553. Xselected buffer.  This changes "}" and ")" so that when they are typed
  554. Xthe are inserted as usual, and then the cursor flashes back to the
  555. Xmatching "{" or "(" (depending on what was typed) for about half a
  556. Xsecond, and then goes back to just after the "}" or ")" that invoked
  557. Xthe command.  This is useful for typing in complicated expressions in
  558. Xa program.  You can change how long the cursor sits on the matching
  559. Xparen by setting the "paren-flash-delay" variable in tenths of a
  560. Xsecond.  If the matching "{" or "(" isn't visible nothing happens.
  561. X.dc "shrink-window" "Not Bound"
  562. XThis makes the current window one line shorter, if possible.  Windows
  563. Xmust be at least 2 lines high, one for the text and the other for the
  564. Xmode line.
  565. X.dc "source" "Not Bound"
  566. XThis reads a bunch of \s-2JOVE\s0 commands from a file.  The format of the
  567. Xfile is the same as that in your initialization file (your ".joverc")
  568. Xin your main directory.  There should be one command per line and it
  569. Xshould be as though you typed "ESC X" while in \s-2JOVE\s0.  For example,
  570. Xhere's part of my initialization file:
  571. X.DS I
  572. Xbind-to-key i-search-reverse ^R
  573. Xbind-to-key i-search-forward ^S
  574. Xbind-to-key pause-jove ^[S
  575. X.DE
  576. XWhat they do is make "C-R" call the
  577. X.IQ i-search-reverse
  578. Xcommand and
  579. X"C-S" call
  580. X.IQ i-search-forward
  581. Xand "ESC S" call
  582. X.IQ pause-jove.
  583. X.dc "spell-buffer" "Not Bound"
  584. XThis runs the current buffer through the UNIX
  585. X.IQ spell
  586. Xprogram and places
  587. Xthe output in buffer "Spell".  Then \s-2JOVE\s0 lets you edit the list of
  588. Xwords, expecting you to delete the ones that you don't care about, i.e., the
  589. Xones you know are spelled correctly.  Then the
  590. X.IQ parse-spelling-errors-in-buffer
  591. Xcommand comes along and finds all the
  592. Xmisspelled words and sets things up so the error commands work.
  593. X.dc "split-current-window" "C-X 2"
  594. XThis splits the current window into two equal parts (providing the
  595. Xresulting windows would be big enough) and displays the selected
  596. Xbuffer in both windows.  Use "C-X 1" to go back to 1 window mode.
  597. X.dc "start-remembering" "C-X ("
  598. XThis starts remembering your key strokes in the Keyboard macro.  To
  599. Xstop remembering you type "C-X )".  Because of a bug in \s-2JOVE\s0 you can't
  600. Xstop remembering by typing "ESC X stop-remembering";
  601. X.IQ stop-remembering
  602. Xmust be bound to "C-X )" in order to make things work correctly.  To
  603. Xexecute the remembered key strokes you type "C-X E" which runs the
  604. X.IQ execute-keyboard-macro
  605. Xcommand.
  606. XSometimes you may want a macro to accept different input each time it runs.
  607. XTo see how to do this, see the
  608. X.IQ make-macro-interactive
  609. Xcommand.
  610. X.dc "stop-process" "Not Bound"
  611. XThis sends a stop signal (C-Z, for most people) to the current process.
  612. XIt only works if you have the interactive process feature, and you are
  613. Xin a buffer attached to a process.
  614. X.dc "stop-remembering" "C-X )"
  615. XThis stop the definition of the keyboard macro.  Because of a bug in
  616. X\s-2JOVE\s0, this must be bound to "C-X )".  Anything else will not work
  617. Xproperly.
  618. X.dc "string-length" "Not Bound"
  619. XThis prints the number of characters in the string that point sits in.
  620. XStrings are surrounded by double quotes.  \s-2JOVE\s0 knows that "\\007" is
  621. Xconsidered a single character, namely "C-G", and also knows about
  622. Xother common ones, like "\\r" (Return) and "\\n" (LineFeed).  This is
  623. Xmostly useful only for C programmers.
  624. X.dc "suspend-jove" "ESC S"
  625. XThis is a synonym for
  626. X.IQ pause-jove.
  627. X.dc "sync-frequency" "(variable)"
  628. XThe temporary files used by \s-2JOVE\s0 are forced out to disk every
  629. X.IQ sync-frequency
  630. Xmodifications.  The default is 50, which really makes
  631. Xgood sense.  Unless your system is very unstable, you probably
  632. Xshouldn't fool with this.
  633. X.dc "tag-file" "(variable)"
  634. XThis the name of the file in which \s-2JOVE\s0 should look up tag
  635. Xdefinitions.  The default value is "./tags".
  636. X.dc "tmp-file-pathname" "(variable)"
  637. XThis tells JOVE where to put the tmp files, which is where JOVE stores
  638. Xbuffers internally.  The default is usually in /tmp, but if you want to
  639. Xstore them somewhere else, you can set this variable.  If your system
  640. Xcrashes a lot it might be a good idea to set this variable to somewhere
  641. Xother than /tmp because the system removes all the files in /tmp upon
  642. Xreboot, and so you would not be able to recover editor buffers using the
  643. X"jove -r" command.
  644. X
  645. XNOTE: In order for this to work correctly you must set this variable
  646. XBEFORE JOVE creates the tmp file.  You can set this in your .joverc (the
  647. Xcloser to tbe beginning the better), or as soon as you start up JOVE
  648. Xbefore you visit any files.
  649. X.dc "text-mode" "Not Bound"
  650. XThis sets the major mode to Text.  Currently the other modes are
  651. XFundamental, C and Lisp mode.
  652. X.dc "transpose-characters" "C-T"
  653. XThis switches the character before point with the one after point, and
  654. Xthen moves forward one.  This doesn't work at the beginning of the
  655. Xline, and at the end of the line it switches the two characters before
  656. Xpoint.  Since point is moved forward, so that the character that was
  657. Xbefore point is still before point, you can use "C-T" to drag a
  658. Xcharacter down the length of a line.  This command pretty quickly
  659. Xbecomes very useful.
  660. X.dc "transpose-lines" "C-X C-T"
  661. XThis switches the current line with the one above it, and then moves
  662. Xdown one so that the line that was above point is still above point.
  663. XThis, like
  664. X.IQ transpose-characters,
  665. Xcan be used to drag a line down a page.
  666. X.dc "unbind-key" "Not Bound"
  667. XUse this to unbind
  668. X.IQ any
  669. Xkey sequence.  You can use this to unbind even a
  670. Xprefix command, since this command does not use "key-map completion".  For
  671. Xexample, "ESC X unbind-key ESC [" unbinds the sequence "ESC [".  This is
  672. Xuseful for "turning off" something set in the system-wide ".joverc" file.
  673. X.dc "update-time-frequency" "(variable)"
  674. XHow often the mode line is updated (and thus the time and load
  675. Xaverage, if you display them).  The default is 30 seconds.
  676. X.dc "use-i/d-char" "(variable)"
  677. XIf your terminal has insert/delete character capability you can tell \s-2JOVE\s0
  678. Xnot to use it by setting this to "off".  In my opinion it is only worth using
  679. Xinsert/delete character at low baud rates.  WARNING: if you set this to
  680. X"on" when your terminal doesn't have insert/delete character capability,
  681. Xyou will get weird (perhaps fatal) results.
  682. X.dc "version" "Not Bound"
  683. XDisplays the version number of this \s-2JOVE\s0.
  684. X.dc "visible-bell" "(variable)"
  685. XUse the terminal's visible bell instead of beeping.  This is set
  686. Xautomatically if your terminal has the capability.
  687. X.dc "visible-spaces-in-window" "Not Bound"
  688. XThis displays an underscore character instead of each space in the
  689. Xwindow and displays a greater-than followed by spaces for each tab
  690. Xin the window.  The actual text in the buffer is not changed; only
  691. Xthe screen display is affected.  To turn this off you run the command
  692. Xagain; it toggles.
  693. X.dc "visit-file" "C-X C-V"
  694. XThis reads a specified file into the current buffer replacing the old
  695. Xtext.  If the buffer needs saving \s-2JOVE\s0 will offer to save it for you.
  696. XSometimes you use this to start over, say if you make lots of changes
  697. Xand then change your mind.  If that's the case you don't want \s-2JOVE\s0 to
  698. Xsave your buffer and you answer "NO" to the question.
  699. X.dc "window-find" "C-X 4"
  700. XThis lets you select another buffer in another window three
  701. Xdifferent ways.  This waits for another character which can be one of
  702. Xthe following:
  703. X.DS I
  704. X.ta .5i 1i 1.5i
  705. XT    Finds a tag in the other window.
  706. XF    Finds a file in the other window.
  707. XB    Selects a buffer in the other window.
  708. X.DE
  709. XThis is just a convenient short hand for "C-X 2" (or "C-X O" if there are
  710. Xalready two windows) followed by the appropriate sequence for invoking each
  711. Xcommand.  With this, though, there isn't the extra overhead of having to
  712. Xredisplay.  In addition, you don't have to decide whether to type "C-X 2" or
  713. X"C-X O" since "C-X 4" does the right thing.
  714. X.dc "word-abbrev-mode" "Not Bound"
  715. XThis turns on Word Abbrev mode (or off if it's currently on) in the
  716. Xselected buffer.  Word Abbrev mode lets you specify a word (an
  717. Xabbreviation) and a phrase with which \s-2JOVE\s0 should substitute the
  718. Xabbreviation.  You can use this to define words to expand into long
  719. Xphrases, e.g., "jove" can expand into "Jonathan's Own Version of
  720. XEmacs"; another common use is defining words that you often misspell
  721. Xin the same way, e.g., "thier" => "their" or "teh" => "the".  See
  722. Xthe information on the
  723. X.IQ auto-case-abbrev
  724. Xvariable.
  725. X.sp 1
  726. XThere are two kinds of abbreviations: mode specific and global.  If
  727. Xyou define a Mode specific abbreviation in C mode, it will expand only
  728. Xin buffers that are in C mode.  This is so you can have the same
  729. Xabbreviation expand to different things depending on your context.
  730. XGlobal abbreviations expand regardless of the major mode of the
  731. Xbuffer.  The way it works is this: \s-2JOVE\s0 looks first in the mode
  732. Xspecific table, and then in the global table.  Whichever it finds it
  733. Xin first is the one that's used in the expansion.  If it doesn't find
  734. Xthe word it is left untouched.
  735. X\s-2JOVE\s0 tries to expand words as they are typed, when you type a
  736. Xpunctuation character or Space or Return.  If you are in Auto Fill
  737. Xmode the expansion will be filled as if you typed it yourself.
  738. X.dc "wrap-search" "(variable)"
  739. XIf set, searches will "wrap around" the ends of the buffer instead
  740. Xof stopping at the bottom or top.  The default is "off".
  741. X.dc "write-files-on-make" "(variable)"
  742. XWhen set, all modified files will be written out before calling
  743. Xmake when the
  744. X.IQ compile-it
  745. Xcommand is executed.  The default is "on".
  746. X.dc "write-word-abbrev-file" "Not Bound"
  747. XThis writes the currently defined abbreviations to a specified file.
  748. XThey can be read back in and automatically defined with
  749. X.IQ read-word-abbrev-file.
  750. X.dc "write-file" "C-X C-W"
  751. XThis saves the current buffer to a specified file, and then makes that
  752. Xfile the default file name for this buffer.  If you specify a file
  753. Xthat already exists you are asked to confirm over-writing it.
  754. X.dc "write-macros-to-file" "Not Bound"
  755. XThis writes the currently defined macros to a specified file.  The
  756. Xmacros can be read back in with
  757. X.IQ read-macros-from-file
  758. Xso you can
  759. Xdefine macros and still use them in other instantiations of \s-2JOVE\s0.
  760. X.dc "write-modified-files" "C-X C-M"
  761. XThis saves all the buffers that need saving.  If you supply a numeric
  762. Xargument it asks for each buffer whether you really want to save it.
  763. X.dc "write-region" "Not Bound"
  764. XThis writes the text in the region to a specified file.  If the file
  765. Xalready exists you are asked to confirm over-writing it.
  766. X.dc "yank" "C-Y"
  767. XThis undoes the last kill command.  That is, it inserts the killed
  768. Xtext at point.  When you do multiple kill commands in a row, they are
  769. Xmerged so that yanking them back with "C\-Y" yanks back all of them.
  770. X.dc "yank-pop" "ESC Y"
  771. XThis yanks back previous killed text.  \s-2JOVE\s0 has a kill ring on which
  772. Xthe last 10 kills are stored.
  773. X.IQ yank
  774. Xyanks a copy of the text at the
  775. Xfront of the ring.  If you want one of the last ten kills you use "ESC
  776. XY" which rotates the ring so another different entry is now at the
  777. Xfront.  You can use "ESC Y" only immediately following a "C-Y" or
  778. Xanother "ESC Y".  If you supply a negative numeric argument the ring
  779. Xis rotated the other way.  If you use this command enough times in a
  780. Xrow you will eventually get back to where you started.  Experiment
  781. Xwith this.  It's extremely useful.
  782. @//E*O*F doc/jove.5//
  783. if test 35706 -ne "`wc -c <'doc/jove.5'`"; then
  784.     echo shar: error transmitting "'doc/jove.5'" '(should have been 35706 characters)'
  785. fi
  786. fi # end of overwriting check
  787. echo shar: "End of archive 12 (of 13)."
  788. cp /dev/null ark12isdone
  789. DONE=true
  790. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13; do
  791.     if test -f ark${I}isdone; then
  792.         echo "You have run archive ${I}."
  793.     else
  794.         echo "You still need to run archive ${I}."
  795.         DONE=false
  796.     fi
  797. done
  798. case $DONE in
  799.     true)
  800.         echo "You have run all 13 archives."
  801.         echo 'Now read the README and Makefile.'
  802.         ;;
  803. esac
  804. ##  End of shell archive.
  805. exit 0
  806.